package basicConcepts;

public enum EnumWeekdays {
/*
 * 	Every enum has two values associated.. therefore we need two properties:frenchEquivalent and frenchPronunciation
 *  and a constructor
 *  Enum can have abstract methods (getSchedule) but then every enum which is defined such as  Monday must implement that method 
 */
MONDAY ("LUNDI","luhn-DEE") {
	@Override
	public String getSchedule() {
		String sched="Work on "+getFrenchEquivalent();
		return sched;
	}
},
TUESDAY ("MARDI","mahr-DEE") {
	@Override
	public String getSchedule() {
		String sched="Work on "+getFrenchEquivalent();
		return sched;
	}
},
WEDNESDAY ("MERCREDI","mehr-kruh-DEE") {
	@Override
	public String getSchedule() {
		String sched="Work on "+getFrenchEquivalent();
		return sched;
	}
},
THURSDAY ("JEUDI","juh-DEE") {
	@Override
	public String getSchedule() {
		String sched="Work on "+getFrenchEquivalent();
		return sched;
	}
},
FRIDAY ("VENDREDI","vahn-druh-DEE") {
	@Override
	public String getSchedule() {
		String sched="Work on "+getFrenchEquivalent();
		return sched;
	}
},
SATURDAY ("SAMEDI","sahm-DEE") {
	@Override
	public String getSchedule() {
		String sched="Work on "+getFrenchEquivalent();
		return sched;
	}
},
SUNDAY ("DIMANCHE","dee-MAHNSH") {
	@Override
	public String getSchedule() {
		String sched="Work on "+getFrenchEquivalent();
		return sched;
	}
};

private String frenchEquivalent;
private String frenchPronunciation;

private EnumWeekdays(String frenchEquivalent, String frenchPronunciation) {
	  this.frenchPronunciation =frenchPronunciation;
	  this.frenchEquivalent=frenchEquivalent;
}


public String getFrenchEquivalent() {
	return frenchEquivalent;
}


public String getFrenchPronunciation() {
	return frenchPronunciation;
}

public abstract String getSchedule();

public static void main(String[] args) {
	System.out.println(EnumWeekdays.TUESDAY.getSchedule());
}

}

